home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / tclMotif-1.4 / tests / callbacks.test < prev    next >
Text File  |  1995-06-29  |  3KB  |  103 lines

  1.  
  2. if {[string compare test [info procs test]] == 1} then \
  3.   {source defs}
  4.  
  5. # set VERBOSE 1
  6.  
  7. # the list of all callback info contains the
  8. # event field, which contains a runtime value 
  9. # of the event number. This is meaningless for
  10. # tests, so lose it (arg 2)
  11. proc lose_event l {
  12.     return [lreplace $l 1 1] 
  13.  
  14. xtAppInitialize -class Arrow
  15. . setValues -allowShellResize true
  16.  
  17. xmRowColumn .row managed
  18.  
  19. xmArrowButton .row.arrow managed \
  20.     -width 10 -height 10
  21.  
  22. xmCommand .row.command managed
  23.  
  24. . realizeWidget
  25.  
  26.  
  27. #############################
  28. # setup for arrow callbacks #
  29. #############################
  30.  
  31. proc arrowCB {call} {
  32.     return "[lose_event $call]"
  33. }
  34.  
  35. .row.arrow armCallback {arrowCB {%call_data}}
  36. .row.arrow activateCallback {arrowCB [list %call_data]}
  37. .row.arrow disarmCallback {arrowCB [list %call_data]}
  38.  
  39. #################
  40. # Arrow callbacks
  41. #################
  42.  
  43. test callbacks-1.1 {arrow arm} {
  44.     .row.arrow callActionProc Arm() \
  45.         -type ButtonPress \
  46.         -x 5 -y 5
  47. } {{reason arm}}
  48.  
  49. # activate assumes it comes from a ButtonPress.
  50. # coords within its boundaries mean ButtonRelease
  51. # occurs within the widget, so activate callback occurs.
  52. # outside this, no callback is invoked
  53.  
  54. # this one is inside boundary
  55. test callbacks-1.2 {arrow activate } {
  56.     .row.arrow callActionProc Activate() \
  57.         -type ButtonPress \
  58.         -x 5 -y 5
  59. } {{reason activate} {click_count 1}}
  60.  
  61. test callbacks-1.3 {arrow disarm} {
  62.     .row.arrow callActionProc Disarm()
  63. } {{reason disarm}}
  64.  
  65. test callbacks-1.4 {arrow armAndActivate} {
  66.     .row.arrow callActionProc ArmAndActivate()
  67. } {{reason arm}{reason activate} {click_count 1}{reason disarm}}
  68.  
  69. test callbacks-1.5 {arrow removeCallback disarmCallback} {
  70.     .row.arrow removeCallback disarmCallback {arrowCB [list %call_data]}
  71.     .row.arrow callActionProc Disarm()
  72. } {}
  73.  
  74. .row.arrow destroyWidget
  75.  
  76.  
  77. #############################
  78. # setup for command callbacks #
  79. #############################
  80.  
  81. proc commandCB {call} {
  82.     return "[lose_event $call]"
  83. }
  84.  
  85. .row.command commandChangedCallback {commandCB {%call_data}}
  86. .row.command commandEnteredCallback {commandCB [list %call_data]}
  87. .row.command applyCallback {commandCB [list %call_data]}
  88. .row.command cancelCallback {commandCB [list %call_data]}
  89. .row.command noMatchCallback {commandCB [list %call_data]}
  90.  
  91. #################
  92. # Command callbacks
  93. #################
  94.  
  95. # test callbacks-2.1 {command arm} {
  96. #    .row.command callActionProc Arm()
  97. # } {{reason arm}}
  98.  
  99.  
  100. # we don't want to go into interactivity:
  101. # . mainLoop
  102.